package com.qinggeng.common.enums;

import com.qinggeng.project.system.domain.Orders;

public enum OrdersStatusCodeEnum {
    未知("00","未知"),
    待付款("10","待付款"),
    待发货("20","待发货"),
    待收货("30","待收货"),
    待评价("40","待评价"),
    已完成("50","已完成"),
    已取消("60","已取消"),
    支付超时("70","支付超时"),
    退单中("80","退单中"),
    已退单("90","已退单"),
    退单失败("100","退单失败"),
    骑手有新的订单("110","骑手有新的订单"),
    团长有新的退单申请("120","团长有新的退单申请");

    private final String code;
    private final String text;

    OrdersStatusCodeEnum(String code,String text)
    {

        this.code=code;
        this.text = text;
    }

    public String getCode() {
        return code;
    }

    public String getText() {
        return text;
    }

    public static OrdersStatusCodeEnum getOrdersStatusCode(Orders orders){
        if (orders.getStatus().equals(OrdersStatusEnum.进行中.getValue())//订单状态：进行中
                && orders.getPayStatus().equals(CommonEnum.STATUS_10.getValue())){//支付状态：未支付
            return OrdersStatusCodeEnum.待付款;
        }
        if(orders.getStatus().equals(OrdersStatusEnum.进行中.getValue())//订单状态：进行中
                &&orders.getPayStatus().equals(CommonEnum.STATUS_20.getValue())//支付状态：已支付
                && orders.getShipStatus().equals(CommonEnum.STATUS_10.getValue())//发货状态：未发货
        ){
            return OrdersStatusCodeEnum.待发货;
        }
        if (orders.getStatus().equals(OrdersStatusEnum.进行中.getValue())//订单状态：进行中
                && orders.getPayStatus().equals(CommonEnum.STATUS_20.getValue())//支付状态：已支付
                && orders.getShipStatus().equals(CommonEnum.STATUS_20.getValue())//发货状态：已发货
        ){
            return OrdersStatusCodeEnum.待收货;
        }
        if (orders.getStatus().equals(OrdersStatusEnum.已确认收货.getValue())//订单状态：已完成
                && orders.getPayStatus().equals(CommonEnum.STATUS_20.getValue())//支付状态：已支付
                && orders.getEvalStatus().equals(CommonEnum.STATUS_10.getValue())){//评价状态：未评价

            return OrdersStatusCodeEnum.待评价;
        }
        /**
         * 订单状态：已完成
         * 评价状态：已评价
         */
        if (orders.getStatus().equals(OrdersStatusEnum.已完结.getValue())){//订单状态：已完成
            return OrdersStatusCodeEnum.已完成;
        }
        if (orders.getStatus().equals(OrdersStatusEnum.已取消.getValue())){
            return OrdersStatusCodeEnum.已取消;
        }
        if (orders.getStatus().equals(OrdersStatusEnum.已关闭.getValue())
                &&orders.getPayStatus().equals(CommonEnum.STATUS_30.getValue())){
            return OrdersStatusCodeEnum.支付超时;
        }

        /**
         * 支付状态: 已支付
         * 配送状态: 待取货
         */
        /*if (orders.getPayStatus().equals(CommonEnum.STATUS_20.getValue())
                && orders.getDistStatus().equals(CommonEnum.STATUS_20.getValue())){
            return OrdersStatusCodeEnum.骑手有新的订单;
        }*/
        return OrdersStatusCodeEnum.未知;
    }
}
